package com.cande.loki.exercise.manythread;

import java.util.concurrent.TimeUnit;

/**
 * @auther ROCK CODER
 * @DATE 2022/4/5 16:46
 * @Description 守护线程测试
 * 线程分为用户线程与守护线程；
 * 虚拟机在没有用户线程下会退出；
 * 守护线程不一定执行完完整内容，这取决于用户线程的存在与否；
 * 设置守护线程，一定要在线程启动start之前进行设置；不能在启动之后设置；
 * Java普通运行是两个线程，一个主线程，一个GC线程；GC线程是守护线程；
 */
public class DaemonTest {
    public static void main(String[] args) {
        Thread t = new Thread(()->{
            System.out.println("this a Daemon");
            try {
                TimeUnit.SECONDS.sleep(2);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        });
        //开了守护线程，会立马停止守护线程，不开的话会睡2秒
        t.setDaemon(true);
        t.start();
    }
}
